From 26506b0a1584f1fa1054818a902b4350f0c4c8ca Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Thu, 16 Jan 2020 13:41:55 +0100 Subject: [PATCH] cssimagefallback: Don't snapshot invisible colors This avoids a few render nodes later. --- gtk/gtkcssimagefallback.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/gtk/gtkcssimagefallback.c b/gtk/gtkcssimagefallback.c index d922da942b..c6549c6bd4 100644 --- a/gtk/gtkcssimagefallback.c +++ b/gtk/gtkcssimagefallback.c @@ -70,15 +70,18 @@ gtk_css_image_fallback_snapshot (GtkCssImage *image, if (fallback->used < 0) { - GdkRGBA red = { 1, 0, 0, 1 }; - const GdkRGBA *color; - if (fallback->color) - color = gtk_css_color_value_get_rgba (fallback->color); + { + const GdkRGBA *color = gtk_css_color_value_get_rgba (fallback->color); + if (!gdk_rgba_is_clear (color)) + gtk_snapshot_append_color (snapshot, color, + &GRAPHENE_RECT_INIT (0, 0, width, height)); + } else - color = &red; - - gtk_snapshot_append_color (snapshot, color, &GRAPHENE_RECT_INIT (0, 0, width, height)); + { + gtk_snapshot_append_color (snapshot, &(GdkRGBA) {1, 0, 0, 1}, + &GRAPHENE_RECT_INIT (0, 0, width, height)); + } } else gtk_css_image_snapshot (fallback->images[fallback->used], snapshot, width, height); -- 2.30.2